// $ANTLR 3.2 Sep 23, 2009 12:02:23 /home/alex/Desktop/Go.g 2010-03-21 05:47:25

import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;

public class GoLexer extends Lexer {
    public static final int T__68=68;
    public static final int T__69=69;
    public static final int T__66=66;
    public static final int T__67=67;
    public static final int Imaginary_lit=22;
    public static final int T__64=64;
    public static final int T__65=65;
    public static final int T__62=62;
    public static final int T__63=63;
    public static final int Byte_value=24;
    public static final int Exponent=20;
    public static final int Octal_digit=9;
    public static final int Hex_digit=10;
    public static final int Escaped_char=28;
    public static final int T__61=61;
    public static final int Assign_op=41;
    public static final int EOF=-1;
    public static final int T__60=60;
    public static final int Add_op=39;
    public static final int Identifier=14;
    public static final int Decimals=19;
    public static final int T__55=55;
    public static final int T__56=56;
    public static final int Unicode_value=23;
    public static final int T__57=57;
    public static final int T__58=58;
    public static final int T__51=51;
    public static final int T__52=52;
    public static final int T__53=53;
    public static final int T__54=54;
    public static final int Decimal_digit=8;
    public static final int T__59=59;
    public static final int Unicode_letter=5;
    public static final int Raw_string_lit=31;
    public static final int COMMENT=12;
    public static final int Little_u_value=26;
    public static final int T__50=50;
    public static final int Hex_byte_value=30;
    public static final int Unicode_digit=6;
    public static final int Log_op=36;
    public static final int T__42=42;
    public static final int T__43=43;
    public static final int Float_lit=21;
    public static final int T__80=80;
    public static final int T__46=46;
    public static final int T__81=81;
    public static final int T__47=47;
    public static final int T__44=44;
    public static final int T__82=82;
    public static final int T__45=45;
    public static final int Rel_op=38;
    public static final int LINE_COMMENT=11;
    public static final int Binary_op=34;
    public static final int T__48=48;
    public static final int T__49=49;
    public static final int Mul_op=40;
    public static final int Octal_byte_value=29;
    public static final int Interpreted_string_lit=32;
    public static final int Unicode_char=4;
    public static final int Decimal_lit=15;
    public static final int Com_op=37;
    public static final int Unary_op=35;
    public static final int T__71=71;
    public static final int WS=13;
    public static final int Big_u_value=27;
    public static final int T__72=72;
    public static final int T__70=70;
    public static final int String_lit=33;
    public static final int Octal_lit=16;
    public static final int Char_lit=25;
    public static final int Int_lit=18;
    public static final int Hex_lit=17;
    public static final int T__76=76;
    public static final int T__75=75;
    public static final int T__74=74;
    public static final int T__73=73;
    public static final int Letter=7;
    public static final int T__79=79;
    public static final int T__78=78;
    public static final int T__77=77;




    // delegates
    // delegators

    public GoLexer() {;} 
    public GoLexer(CharStream input) {
        this(input, new RecognizerSharedState());
    }
    public GoLexer(CharStream input, RecognizerSharedState state) {
        super(input,state);

    }
    public String getGrammarFileName() { return "/home/alex/Desktop/Go.g"; }

    // $ANTLR start "T__42"
    public final void mT__42() throws RecognitionException {
        try {
            int _type = T__42;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/alex/Desktop/Go.g:7:7: ( '(' )
            // /home/alex/Desktop/Go.g:7:9: '('
            {
            match('('); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__42"

    // $ANTLR start "T__43"
    public final void mT__43() throws RecognitionException {
        try {
            int _type = T__43;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/alex/Desktop/Go.g:8:7: ( ')' )
            // /home/alex/Desktop/Go.g:8:9: ')'
            {
            match(')'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__43"

    // $ANTLR start "T__44"
    public final void mT__44() throws RecognitionException {
        try {
            int _type = T__44;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/alex/Desktop/Go.g:9:7: ( '[' )
            // /home/alex/Desktop/Go.g:9:9: '['
            {
            match('['); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__44"

    // $ANTLR start "T__45"
    public final void mT__45() throws RecognitionException {
        try {
            int _type = T__45;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/alex/Desktop/Go.g:10:7: ( ']' )
            // /home/alex/Desktop/Go.g:10:9: ']'
            {
            match(']'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__45"

    // $ANTLR start "T__46"
    public final void mT__46() throws RecognitionException {
        try {
            int _type = T__46;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/alex/Desktop/Go.g:11:7: ( 'struct' )
            // /home/alex/Desktop/Go.g:11:9: 'struct'
            {
            match("struct"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__46"

    // $ANTLR start "T__47"
    public final void mT__47() throws RecognitionException {
        try {
            int _type = T__47;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/alex/Desktop/Go.g:12:7: ( '{' )
            // /home/alex/Desktop/Go.g:12:9: '{'
            {
            match('{'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__47"

    // $ANTLR start "T__48"
    public final void mT__48() throws RecognitionException {
        try {
            int _type = T__48;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/alex/Desktop/Go.g:13:7: ( ';' )
            // /home/alex/Desktop/Go.g:13:9: ';'
            {
            match(';'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__48"

    // $ANTLR start "T__49"
    public final void mT__49() throws RecognitionException {
        try {
            int _type = T__49;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/alex/Desktop/Go.g:14:7: ( '}' )
            // /home/alex/Desktop/Go.g:14:9: '}'
            {
            match('}'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__49"

    // $ANTLR start "T__50"
    public final void mT__50() throws RecognitionException {
        try {
            int _type = T__50;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/alex/Desktop/Go.g:15:7: ( '*' )
            // /home/alex/Desktop/Go.g:15:9: '*'
            {
            match('*'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__50"

    // $ANTLR start "T__51"
    public final void mT__51() throws RecognitionException {
        try {
            int _type = T__51;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/alex/Desktop/Go.g:16:7: ( 'func' )
            // /home/alex/Desktop/Go.g:16:9: 'func'
            {
            match("func"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__51"

    // $ANTLR start "T__52"
    public final void mT__52() throws RecognitionException {
        try {
            int _type = T__52;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/alex/Desktop/Go.g:17:7: ( ',' )
            // /home/alex/Desktop/Go.g:17:9: ','
            {
            match(','); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__52"

    // $ANTLR start "T__53"
    public final void mT__53() throws RecognitionException {
        try {
            int _type = T__53;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/alex/Desktop/Go.g:18:7: ( '...' )
            // /home/alex/Desktop/Go.g:18:9: '...'
            {
            match("..."); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__53"

    // $ANTLR start "T__54"
    public final void mT__54() throws RecognitionException {
        try {
            int _type = T__54;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/alex/Desktop/Go.g:19:7: ( 'interface' )
            // /home/alex/Desktop/Go.g:19:9: 'interface'
            {
            match("interface"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__54"

    // $ANTLR start "T__55"
    public final void mT__55() throws RecognitionException {
        try {
            int _type = T__55;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/alex/Desktop/Go.g:20:7: ( 'map' )
            // /home/alex/Desktop/Go.g:20:9: 'map'
            {
            match("map"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__55"

    // $ANTLR start "T__56"
    public final void mT__56() throws RecognitionException {
        try {
            int _type = T__56;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/alex/Desktop/Go.g:21:7: ( 'chan' )
            // /home/alex/Desktop/Go.g:21:9: 'chan'
            {
            match("chan"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__56"

    // $ANTLR start "T__57"
    public final void mT__57() throws RecognitionException {
        try {
            int _type = T__57;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/alex/Desktop/Go.g:22:7: ( 'const' )
            // /home/alex/Desktop/Go.g:22:9: 'const'
            {
            match("const"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__57"

    // $ANTLR start "T__58"
    public final void mT__58() throws RecognitionException {
        try {
            int _type = T__58;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/alex/Desktop/Go.g:23:7: ( '=' )
            // /home/alex/Desktop/Go.g:23:9: '='
            {
            match('='); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__58"

    // $ANTLR start "T__59"
    public final void mT__59() throws RecognitionException {
        try {
            int _type = T__59;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/alex/Desktop/Go.g:24:7: ( 'type' )
            // /home/alex/Desktop/Go.g:24:9: 'type'
            {
            match("type"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__59"

    // $ANTLR start "T__60"
    public final void mT__60() throws RecognitionException {
        try {
            int _type = T__60;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/alex/Desktop/Go.g:25:7: ( 'var' )
            // /home/alex/Desktop/Go.g:25:9: 'var'
            {
            match("var"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__60"

    // $ANTLR start "T__61"
    public final void mT__61() throws RecognitionException {
        try {
            int _type = T__61;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/alex/Desktop/Go.g:26:7: ( ':=' )
            // /home/alex/Desktop/Go.g:26:9: ':='
            {
            match(":="); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__61"

    // $ANTLR start "T__62"
    public final void mT__62() throws RecognitionException {
        try {
            int _type = T__62;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/alex/Desktop/Go.g:27:7: ( '.' )
            // /home/alex/Desktop/Go.g:27:9: '.'
            {
            match('.'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__62"

    // $ANTLR start "T__63"
    public final void mT__63() throws RecognitionException {
        try {
            int _type = T__63;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/alex/Desktop/Go.g:28:7: ( ':' )
            // /home/alex/Desktop/Go.g:28:9: ':'
            {
            match(':'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__63"

    // $ANTLR start "T__64"
    public final void mT__64() throws RecognitionException {
        try {
            int _type = T__64;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/alex/Desktop/Go.g:29:7: ( '++' )
            // /home/alex/Desktop/Go.g:29:9: '++'
            {
            match("++"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__64"

    // $ANTLR start "T__65"
    public final void mT__65() throws RecognitionException {
        try {
            int _type = T__65;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/alex/Desktop/Go.g:30:7: ( '--' )
            // /home/alex/Desktop/Go.g:30:9: '--'
            {
            match("--"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__65"

    // $ANTLR start "T__66"
    public final void mT__66() throws RecognitionException {
        try {
            int _type = T__66;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/alex/Desktop/Go.g:31:7: ( 'if' )
            // /home/alex/Desktop/Go.g:31:9: 'if'
            {
            match("if"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__66"

    // $ANTLR start "T__67"
    public final void mT__67() throws RecognitionException {
        try {
            int _type = T__67;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/alex/Desktop/Go.g:32:7: ( 'else' )
            // /home/alex/Desktop/Go.g:32:9: 'else'
            {
            match("else"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__67"

    // $ANTLR start "T__68"
    public final void mT__68() throws RecognitionException {
        try {
            int _type = T__68;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/alex/Desktop/Go.g:33:7: ( 'switch' )
            // /home/alex/Desktop/Go.g:33:9: 'switch'
            {
            match("switch"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__68"

    // $ANTLR start "T__69"
    public final void mT__69() throws RecognitionException {
        try {
            int _type = T__69;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/alex/Desktop/Go.g:34:7: ( 'case' )
            // /home/alex/Desktop/Go.g:34:9: 'case'
            {
            match("case"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__69"

    // $ANTLR start "T__70"
    public final void mT__70() throws RecognitionException {
        try {
            int _type = T__70;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/alex/Desktop/Go.g:35:7: ( 'default' )
            // /home/alex/Desktop/Go.g:35:9: 'default'
            {
            match("default"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__70"

    // $ANTLR start "T__71"
    public final void mT__71() throws RecognitionException {
        try {
            int _type = T__71;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/alex/Desktop/Go.g:36:7: ( 'for' )
            // /home/alex/Desktop/Go.g:36:9: 'for'
            {
            match("for"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__71"

    // $ANTLR start "T__72"
    public final void mT__72() throws RecognitionException {
        try {
            int _type = T__72;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/alex/Desktop/Go.g:37:7: ( 'range' )
            // /home/alex/Desktop/Go.g:37:9: 'range'
            {
            match("range"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__72"

    // $ANTLR start "T__73"
    public final void mT__73() throws RecognitionException {
        try {
            int _type = T__73;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/alex/Desktop/Go.g:38:7: ( 'go' )
            // /home/alex/Desktop/Go.g:38:9: 'go'
            {
            match("go"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__73"

    // $ANTLR start "T__74"
    public final void mT__74() throws RecognitionException {
        try {
            int _type = T__74;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/alex/Desktop/Go.g:39:7: ( 'select' )
            // /home/alex/Desktop/Go.g:39:9: 'select'
            {
            match("select"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__74"

    // $ANTLR start "T__75"
    public final void mT__75() throws RecognitionException {
        try {
            int _type = T__75;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/alex/Desktop/Go.g:40:7: ( 'return' )
            // /home/alex/Desktop/Go.g:40:9: 'return'
            {
            match("return"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__75"

    // $ANTLR start "T__76"
    public final void mT__76() throws RecognitionException {
        try {
            int _type = T__76;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/alex/Desktop/Go.g:41:7: ( 'break' )
            // /home/alex/Desktop/Go.g:41:9: 'break'
            {
            match("break"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__76"

    // $ANTLR start "T__77"
    public final void mT__77() throws RecognitionException {
        try {
            int _type = T__77;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/alex/Desktop/Go.g:42:7: ( 'continue' )
            // /home/alex/Desktop/Go.g:42:9: 'continue'
            {
            match("continue"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__77"

    // $ANTLR start "T__78"
    public final void mT__78() throws RecognitionException {
        try {
            int _type = T__78;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/alex/Desktop/Go.g:43:7: ( 'goto' )
            // /home/alex/Desktop/Go.g:43:9: 'goto'
            {
            match("goto"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__78"

    // $ANTLR start "T__79"
    public final void mT__79() throws RecognitionException {
        try {
            int _type = T__79;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/alex/Desktop/Go.g:44:7: ( 'fallthrough' )
            // /home/alex/Desktop/Go.g:44:9: 'fallthrough'
            {
            match("fallthrough"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__79"

    // $ANTLR start "T__80"
    public final void mT__80() throws RecognitionException {
        try {
            int _type = T__80;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/alex/Desktop/Go.g:45:7: ( 'defer' )
            // /home/alex/Desktop/Go.g:45:9: 'defer'
            {
            match("defer"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__80"

    // $ANTLR start "T__81"
    public final void mT__81() throws RecognitionException {
        try {
            int _type = T__81;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/alex/Desktop/Go.g:46:7: ( 'package' )
            // /home/alex/Desktop/Go.g:46:9: 'package'
            {
            match("package"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__81"

    // $ANTLR start "T__82"
    public final void mT__82() throws RecognitionException {
        try {
            int _type = T__82;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/alex/Desktop/Go.g:47:7: ( 'import' )
            // /home/alex/Desktop/Go.g:47:9: 'import'
            {
            match("import"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__82"

    // $ANTLR start "Unicode_char"
    public final void mUnicode_char() throws RecognitionException {
        try {
            // /home/alex/Desktop/Go.g:12:2: ( '\\u0003' .. '\\uffff' )
            // /home/alex/Desktop/Go.g:12:4: '\\u0003' .. '\\uffff'
            {
            matchRange('\u0003','\uFFFF'); 

            }

        }
        finally {
        }
    }
    // $ANTLR end "Unicode_char"

    // $ANTLR start "Unicode_letter"
    public final void mUnicode_letter() throws RecognitionException {
        try {
            // /home/alex/Desktop/Go.g:16:5: ( '\\u0024' | '\\u0041' .. '\\u005a' | '\\u0061' .. '\\u007a' | '\\u00c0' .. '\\u00d6' | '\\u00d8' .. '\\u00f6' | '\\u00f8' .. '\\u00ff' | '\\u0100' .. '\\u1fff' | '\\u3040' .. '\\u318f' | '\\u3300' .. '\\u337f' | '\\u3400' .. '\\u3d2d' | '\\u4e00' .. '\\u9fff' | '\\uf900' .. '\\ufaff' )
            // /home/alex/Desktop/Go.g:
            {
            if ( input.LA(1)=='$'||(input.LA(1)>='A' && input.LA(1)<='Z')||(input.LA(1)>='a' && input.LA(1)<='z')||(input.LA(1)>='\u00C0' && input.LA(1)<='\u00D6')||(input.LA(1)>='\u00D8' && input.LA(1)<='\u00F6')||(input.LA(1)>='\u00F8' && input.LA(1)<='\u1FFF')||(input.LA(1)>='\u3040' && input.LA(1)<='\u318F')||(input.LA(1)>='\u3300' && input.LA(1)<='\u337F')||(input.LA(1)>='\u3400' && input.LA(1)<='\u3D2D')||(input.LA(1)>='\u4E00' && input.LA(1)<='\u9FFF')||(input.LA(1)>='\uF900' && input.LA(1)<='\uFAFF') ) {
                input.consume();

            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;}


            }

        }
        finally {
        }
    }
    // $ANTLR end "Unicode_letter"

    // $ANTLR start "Unicode_digit"
    public final void mUnicode_digit() throws RecognitionException {
        try {
            // /home/alex/Desktop/Go.g:32:5: ( '\\u0030' .. '\\u0039' | '\\u0660' .. '\\u0669' | '\\u06f0' .. '\\u06f9' | '\\u0966' .. '\\u096f' | '\\u09e6' .. '\\u09ef' | '\\u0a66' .. '\\u0a6f' | '\\u0ae6' .. '\\u0aef' | '\\u0b66' .. '\\u0b6f' | '\\u0be7' .. '\\u0bef' | '\\u0c66' .. '\\u0c6f' | '\\u0ce6' .. '\\u0cef' | '\\u0d66' .. '\\u0d6f' | '\\u0e50' .. '\\u0e59' | '\\u0ed0' .. '\\u0ed9' | '\\u1040' .. '\\u1049' )
            // /home/alex/Desktop/Go.g:
            {
            if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='\u0660' && input.LA(1)<='\u0669')||(input.LA(1)>='\u06F0' && input.LA(1)<='\u06F9')||(input.LA(1)>='\u0966' && input.LA(1)<='\u096F')||(input.LA(1)>='\u09E6' && input.LA(1)<='\u09EF')||(input.LA(1)>='\u0A66' && input.LA(1)<='\u0A6F')||(input.LA(1)>='\u0AE6' && input.LA(1)<='\u0AEF')||(input.LA(1)>='\u0B66' && input.LA(1)<='\u0B6F')||(input.LA(1)>='\u0BE7' && input.LA(1)<='\u0BEF')||(input.LA(1)>='\u0C66' && input.LA(1)<='\u0C6F')||(input.LA(1)>='\u0CE6' && input.LA(1)<='\u0CEF')||(input.LA(1)>='\u0D66' && input.LA(1)<='\u0D6F')||(input.LA(1)>='\u0E50' && input.LA(1)<='\u0E59')||(input.LA(1)>='\u0ED0' && input.LA(1)<='\u0ED9')||(input.LA(1)>='\u1040' && input.LA(1)<='\u1049') ) {
                input.consume();

            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;}


            }

        }
        finally {
        }
    }
    // $ANTLR end "Unicode_digit"

    // $ANTLR start "Letter"
    public final void mLetter() throws RecognitionException {
        try {
            // /home/alex/Desktop/Go.g:51:2: ( Unicode_letter | '_' )
            // /home/alex/Desktop/Go.g:
            {
            if ( input.LA(1)=='$'||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z')||(input.LA(1)>='\u00C0' && input.LA(1)<='\u00D6')||(input.LA(1)>='\u00D8' && input.LA(1)<='\u00F6')||(input.LA(1)>='\u00F8' && input.LA(1)<='\u1FFF')||(input.LA(1)>='\u3040' && input.LA(1)<='\u318F')||(input.LA(1)>='\u3300' && input.LA(1)<='\u337F')||(input.LA(1)>='\u3400' && input.LA(1)<='\u3D2D')||(input.LA(1)>='\u4E00' && input.LA(1)<='\u9FFF')||(input.LA(1)>='\uF900' && input.LA(1)<='\uFAFF') ) {
                input.consume();

            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;}


            }

        }
        finally {
        }
    }
    // $ANTLR end "Letter"

    // $ANTLR start "Decimal_digit"
    public final void mDecimal_digit() throws RecognitionException {
        try {
            // /home/alex/Desktop/Go.g:55:2: ( '0' .. '9' )
            // /home/alex/Desktop/Go.g:55:5: '0' .. '9'
            {
            matchRange('0','9'); 

            }

        }
        finally {
        }
    }
    // $ANTLR end "Decimal_digit"

    // $ANTLR start "Octal_digit"
    public final void mOctal_digit() throws RecognitionException {
        try {
            // /home/alex/Desktop/Go.g:59:2: ( '0' .. '7' )
            // /home/alex/Desktop/Go.g:59:5: '0' .. '7'
            {
            matchRange('0','7'); 

            }

        }
        finally {
        }
    }
    // $ANTLR end "Octal_digit"

    // $ANTLR start "Hex_digit"
    public final void mHex_digit() throws RecognitionException {
        try {
            // /home/alex/Desktop/Go.g:63:2: ( '0' .. '9' | 'A' .. 'F' | 'a' .. 'f' )
            // /home/alex/Desktop/Go.g:
            {
            if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='F')||(input.LA(1)>='a' && input.LA(1)<='f') ) {
                input.consume();

            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;}


            }

        }
        finally {
        }
    }
    // $ANTLR end "Hex_digit"

    // $ANTLR start "LINE_COMMENT"
    public final void mLINE_COMMENT() throws RecognitionException {
        try {
            int _type = LINE_COMMENT;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/alex/Desktop/Go.g:69:5: ( '//' (~ ( '\\n' | '\\r' ) )* ( '\\r' )? '\\n' )
            // /home/alex/Desktop/Go.g:69:7: '//' (~ ( '\\n' | '\\r' ) )* ( '\\r' )? '\\n'
            {
            match("//"); 

            // /home/alex/Desktop/Go.g:69:12: (~ ( '\\n' | '\\r' ) )*
            loop1:
            do {
                int alt1=2;
                int LA1_0 = input.LA(1);

                if ( ((LA1_0>='\u0000' && LA1_0<='\t')||(LA1_0>='\u000B' && LA1_0<='\f')||(LA1_0>='\u000E' && LA1_0<='\uFFFF')) ) {
                    alt1=1;
                }


                switch (alt1) {
            	case 1 :
            	    // /home/alex/Desktop/Go.g:69:12: ~ ( '\\n' | '\\r' )
            	    {
            	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) {
            	        input.consume();

            	    }
            	    else {
            	        MismatchedSetException mse = new MismatchedSetException(null,input);
            	        recover(mse);
            	        throw mse;}


            	    }
            	    break;

            	default :
            	    break loop1;
                }
            } while (true);

            // /home/alex/Desktop/Go.g:69:26: ( '\\r' )?
            int alt2=2;
            int LA2_0 = input.LA(1);

            if ( (LA2_0=='\r') ) {
                alt2=1;
            }
            switch (alt2) {
                case 1 :
                    // /home/alex/Desktop/Go.g:69:26: '\\r'
                    {
                    match('\r'); 

                    }
                    break;

            }

            match('\n'); 
            _channel=HIDDEN;

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "LINE_COMMENT"

    // $ANTLR start "COMMENT"
    public final void mCOMMENT() throws RecognitionException {
        try {
            int _type = COMMENT;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/alex/Desktop/Go.g:73:5: ( '/*' ( options {greedy=false; } : . )* '*/' )
            // /home/alex/Desktop/Go.g:73:9: '/*' ( options {greedy=false; } : . )* '*/'
            {
            match("/*"); 

            // /home/alex/Desktop/Go.g:73:14: ( options {greedy=false; } : . )*
            loop3:
            do {
                int alt3=2;
                int LA3_0 = input.LA(1);

                if ( (LA3_0=='*') ) {
                    int LA3_1 = input.LA(2);

                    if ( (LA3_1=='/') ) {
                        alt3=2;
                    }
                    else if ( ((LA3_1>='\u0000' && LA3_1<='.')||(LA3_1>='0' && LA3_1<='\uFFFF')) ) {
                        alt3=1;
                    }


                }
                else if ( ((LA3_0>='\u0000' && LA3_0<=')')||(LA3_0>='+' && LA3_0<='\uFFFF')) ) {
                    alt3=1;
                }


                switch (alt3) {
            	case 1 :
            	    // /home/alex/Desktop/Go.g:73:42: .
            	    {
            	    matchAny(); 

            	    }
            	    break;

            	default :
            	    break loop3;
                }
            } while (true);

            match("*/"); 

            _channel=HIDDEN;

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "COMMENT"

    // $ANTLR start "WS"
    public final void mWS() throws RecognitionException {
        try {
            int _type = WS;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/alex/Desktop/Go.g:76:5: ( ( ' ' | '\\r' | '\\t' | '\\u000C' | '\\n' ) )
            // /home/alex/Desktop/Go.g:76:8: ( ' ' | '\\r' | '\\t' | '\\u000C' | '\\n' )
            {
            if ( (input.LA(1)>='\t' && input.LA(1)<='\n')||(input.LA(1)>='\f' && input.LA(1)<='\r')||input.LA(1)==' ' ) {
                input.consume();

            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;}

            _channel=HIDDEN;

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "WS"

    // $ANTLR start "Identifier"
    public final void mIdentifier() throws RecognitionException {
        try {
            int _type = Identifier;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/alex/Desktop/Go.g:80:2: ( Letter ( Letter | Unicode_digit )* )
            // /home/alex/Desktop/Go.g:80:5: Letter ( Letter | Unicode_digit )*
            {
            mLetter(); 
            // /home/alex/Desktop/Go.g:80:12: ( Letter | Unicode_digit )*
            loop4:
            do {
                int alt4=2;
                int LA4_0 = input.LA(1);

                if ( (LA4_0=='$'||(LA4_0>='0' && LA4_0<='9')||(LA4_0>='A' && LA4_0<='Z')||LA4_0=='_'||(LA4_0>='a' && LA4_0<='z')||(LA4_0>='\u00C0' && LA4_0<='\u00D6')||(LA4_0>='\u00D8' && LA4_0<='\u00F6')||(LA4_0>='\u00F8' && LA4_0<='\u1FFF')||(LA4_0>='\u3040' && LA4_0<='\u318F')||(LA4_0>='\u3300' && LA4_0<='\u337F')||(LA4_0>='\u3400' && LA4_0<='\u3D2D')||(LA4_0>='\u4E00' && LA4_0<='\u9FFF')||(LA4_0>='\uF900' && LA4_0<='\uFAFF')) ) {
                    alt4=1;
                }


                switch (alt4) {
            	case 1 :
            	    // /home/alex/Desktop/Go.g:
            	    {
            	    if ( input.LA(1)=='$'||(input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z')||(input.LA(1)>='\u00C0' && input.LA(1)<='\u00D6')||(input.LA(1)>='\u00D8' && input.LA(1)<='\u00F6')||(input.LA(1)>='\u00F8' && input.LA(1)<='\u1FFF')||(input.LA(1)>='\u3040' && input.LA(1)<='\u318F')||(input.LA(1)>='\u3300' && input.LA(1)<='\u337F')||(input.LA(1)>='\u3400' && input.LA(1)<='\u3D2D')||(input.LA(1)>='\u4E00' && input.LA(1)<='\u9FFF')||(input.LA(1)>='\uF900' && input.LA(1)<='\uFAFF') ) {
            	        input.consume();

            	    }
            	    else {
            	        MismatchedSetException mse = new MismatchedSetException(null,input);
            	        recover(mse);
            	        throw mse;}


            	    }
            	    break;

            	default :
            	    break loop4;
                }
            } while (true);


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "Identifier"

    // $ANTLR start "Int_lit"
    public final void mInt_lit() throws RecognitionException {
        try {
            // /home/alex/Desktop/Go.g:84:2: ( Decimal_lit | Octal_lit | Hex_lit )
            int alt5=3;
            int LA5_0 = input.LA(1);

            if ( ((LA5_0>='1' && LA5_0<='9')) ) {
                alt5=1;
            }
            else if ( (LA5_0=='0') ) {
                int LA5_2 = input.LA(2);

                if ( (LA5_2=='X'||LA5_2=='x') ) {
                    alt5=3;
                }
                else {
                    alt5=2;}
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 5, 0, input);

                throw nvae;
            }
            switch (alt5) {
                case 1 :
                    // /home/alex/Desktop/Go.g:84:5: Decimal_lit
                    {
                    mDecimal_lit(); 

                    }
                    break;
                case 2 :
                    // /home/alex/Desktop/Go.g:84:19: Octal_lit
                    {
                    mOctal_lit(); 

                    }
                    break;
                case 3 :
                    // /home/alex/Desktop/Go.g:84:31: Hex_lit
                    {
                    mHex_lit(); 

                    }
                    break;

            }
        }
        finally {
        }
    }
    // $ANTLR end "Int_lit"

    // $ANTLR start "Decimal_lit"
    public final void mDecimal_lit() throws RecognitionException {
        try {
            // /home/alex/Desktop/Go.g:88:2: ( ( '1' .. '9' ) ( Decimal_digit )* )
            // /home/alex/Desktop/Go.g:88:5: ( '1' .. '9' ) ( Decimal_digit )*
            {
            // /home/alex/Desktop/Go.g:88:5: ( '1' .. '9' )
            // /home/alex/Desktop/Go.g:88:7: '1' .. '9'
            {
            matchRange('1','9'); 

            }

            // /home/alex/Desktop/Go.g:88:18: ( Decimal_digit )*
            loop6:
            do {
                int alt6=2;
                int LA6_0 = input.LA(1);

                if ( ((LA6_0>='0' && LA6_0<='9')) ) {
                    alt6=1;
                }


                switch (alt6) {
            	case 1 :
            	    // /home/alex/Desktop/Go.g:88:20: Decimal_digit
            	    {
            	    mDecimal_digit(); 

            	    }
            	    break;

            	default :
            	    break loop6;
                }
            } while (true);


            }

        }
        finally {
        }
    }
    // $ANTLR end "Decimal_lit"

    // $ANTLR start "Octal_lit"
    public final void mOctal_lit() throws RecognitionException {
        try {
            // /home/alex/Desktop/Go.g:92:2: ( '0' ( Octal_digit )* )
            // /home/alex/Desktop/Go.g:92:5: '0' ( Octal_digit )*
            {
            match('0'); 
            // /home/alex/Desktop/Go.g:92:9: ( Octal_digit )*
            loop7:
            do {
                int alt7=2;
                int LA7_0 = input.LA(1);

                if ( ((LA7_0>='0' && LA7_0<='7')) ) {
                    alt7=1;
                }


                switch (alt7) {
            	case 1 :
            	    // /home/alex/Desktop/Go.g:92:11: Octal_digit
            	    {
            	    mOctal_digit(); 

            	    }
            	    break;

            	default :
            	    break loop7;
                }
            } while (true);


            }

        }
        finally {
        }
    }
    // $ANTLR end "Octal_lit"

    // $ANTLR start "Hex_lit"
    public final void mHex_lit() throws RecognitionException {
        try {
            // /home/alex/Desktop/Go.g:96:2: ( '0' ( 'x' | 'X' ) Hex_digit ( Hex_digit )* )
            // /home/alex/Desktop/Go.g:96:5: '0' ( 'x' | 'X' ) Hex_digit ( Hex_digit )*
            {
            match('0'); 
            if ( input.LA(1)=='X'||input.LA(1)=='x' ) {
                input.consume();

            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;}

            mHex_digit(); 
            // /home/alex/Desktop/Go.g:96:33: ( Hex_digit )*
            loop8:
            do {
                int alt8=2;
                int LA8_0 = input.LA(1);

                if ( ((LA8_0>='0' && LA8_0<='9')||(LA8_0>='A' && LA8_0<='F')||(LA8_0>='a' && LA8_0<='f')) ) {
                    alt8=1;
                }


                switch (alt8) {
            	case 1 :
            	    // /home/alex/Desktop/Go.g:96:35: Hex_digit
            	    {
            	    mHex_digit(); 

            	    }
            	    break;

            	default :
            	    break loop8;
                }
            } while (true);


            }

        }
        finally {
        }
    }
    // $ANTLR end "Hex_lit"

    // $ANTLR start "Float_lit"
    public final void mFloat_lit() throws RecognitionException {
        try {
            // /home/alex/Desktop/Go.g:100:2: ( Decimals '.' ( Decimals )? ( Exponent )? | Decimals Exponent | '.' Decimals ( Exponent )? )
            int alt12=3;
            int LA12_0 = input.LA(1);

            if ( ((LA12_0>='0' && LA12_0<='9')) ) {
                int LA12_1 = input.LA(2);

                if ( ((LA12_1>='0' && LA12_1<='9')) ) {
                    int LA12_3 = input.LA(3);

                    if ( (LA12_3=='.') ) {
                        alt12=1;
                    }
                    else if ( (LA12_3=='E'||LA12_3=='e') ) {
                        alt12=2;
                    }
                    else {
                        NoViableAltException nvae =
                            new NoViableAltException("", 12, 3, input);

                        throw nvae;
                    }
                }
                else {
                    NoViableAltException nvae =
                        new NoViableAltException("", 12, 1, input);

                    throw nvae;
                }
            }
            else if ( (LA12_0=='.') ) {
                alt12=3;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 12, 0, input);

                throw nvae;
            }
            switch (alt12) {
                case 1 :
                    // /home/alex/Desktop/Go.g:101:2: Decimals '.' ( Decimals )? ( Exponent )?
                    {
                    mDecimals(); 
                    match('.'); 
                    // /home/alex/Desktop/Go.g:101:15: ( Decimals )?
                    int alt9=2;
                    int LA9_0 = input.LA(1);

                    if ( ((LA9_0>='0' && LA9_0<='9')) ) {
                        alt9=1;
                    }
                    switch (alt9) {
                        case 1 :
                            // /home/alex/Desktop/Go.g:101:17: Decimals
                            {
                            mDecimals(); 

                            }
                            break;

                    }

                    // /home/alex/Desktop/Go.g:101:29: ( Exponent )?
                    int alt10=2;
                    int LA10_0 = input.LA(1);

                    if ( (LA10_0=='E'||LA10_0=='e') ) {
                        alt10=1;
                    }
                    switch (alt10) {
                        case 1 :
                            // /home/alex/Desktop/Go.g:101:31: Exponent
                            {
                            mExponent(); 

                            }
                            break;

                    }


                    }
                    break;
                case 2 :
                    // /home/alex/Desktop/Go.g:102:2: Decimals Exponent
                    {
                    mDecimals(); 
                    mExponent(); 

                    }
                    break;
                case 3 :
                    // /home/alex/Desktop/Go.g:103:2: '.' Decimals ( Exponent )?
                    {
                    match('.'); 
                    mDecimals(); 
                    // /home/alex/Desktop/Go.g:103:15: ( Exponent )?
                    int alt11=2;
                    int LA11_0 = input.LA(1);

                    if ( (LA11_0=='E'||LA11_0=='e') ) {
                        alt11=1;
                    }
                    switch (alt11) {
                        case 1 :
                            // /home/alex/Desktop/Go.g:103:17: Exponent
                            {
                            mExponent(); 

                            }
                            break;

                    }


                    }
                    break;

            }
        }
        finally {
        }
    }
    // $ANTLR end "Float_lit"

    // $ANTLR start "Decimals"
    public final void mDecimals() throws RecognitionException {
        try {
            // /home/alex/Desktop/Go.g:107:2: ( Decimal_digit ( Decimal_digit ) )
            // /home/alex/Desktop/Go.g:107:5: Decimal_digit ( Decimal_digit )
            {
            mDecimal_digit(); 
            // /home/alex/Desktop/Go.g:107:19: ( Decimal_digit )
            // /home/alex/Desktop/Go.g:107:21: Decimal_digit
            {
            mDecimal_digit(); 

            }


            }

        }
        finally {
        }
    }
    // $ANTLR end "Decimals"

    // $ANTLR start "Exponent"
    public final void mExponent() throws RecognitionException {
        try {
            // /home/alex/Desktop/Go.g:111:2: ( ( 'e' | 'E' ) ( '+' | '-' )? Decimals )
            // /home/alex/Desktop/Go.g:111:5: ( 'e' | 'E' ) ( '+' | '-' )? Decimals
            {
            if ( input.LA(1)=='E'||input.LA(1)=='e' ) {
                input.consume();

            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;}

            // /home/alex/Desktop/Go.g:111:19: ( '+' | '-' )?
            int alt13=2;
            int LA13_0 = input.LA(1);

            if ( (LA13_0=='+'||LA13_0=='-') ) {
                alt13=1;
            }
            switch (alt13) {
                case 1 :
                    // /home/alex/Desktop/Go.g:
                    {
                    if ( input.LA(1)=='+'||input.LA(1)=='-' ) {
                        input.consume();

                    }
                    else {
                        MismatchedSetException mse = new MismatchedSetException(null,input);
                        recover(mse);
                        throw mse;}


                    }
                    break;

            }

            mDecimals(); 

            }

        }
        finally {
        }
    }
    // $ANTLR end "Exponent"

    // $ANTLR start "Imaginary_lit"
    public final void mImaginary_lit() throws RecognitionException {
        try {
            int _type = Imaginary_lit;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/alex/Desktop/Go.g:114:2: ( ( Decimals | Float_lit ) 'i' )
            // /home/alex/Desktop/Go.g:114:5: ( Decimals | Float_lit ) 'i'
            {
            // /home/alex/Desktop/Go.g:114:5: ( Decimals | Float_lit )
            int alt14=2;
            int LA14_0 = input.LA(1);

            if ( ((LA14_0>='0' && LA14_0<='9')) ) {
                int LA14_1 = input.LA(2);

                if ( ((LA14_1>='0' && LA14_1<='9')) ) {
                    int LA14_3 = input.LA(3);

                    if ( (LA14_3=='.'||LA14_3=='E'||LA14_3=='e') ) {
                        alt14=2;
                    }
                    else if ( (LA14_3=='i') ) {
                        alt14=1;
                    }
                    else {
                        NoViableAltException nvae =
                            new NoViableAltException("", 14, 3, input);

                        throw nvae;
                    }
                }
                else {
                    NoViableAltException nvae =
                        new NoViableAltException("", 14, 1, input);

                    throw nvae;
                }
            }
            else if ( (LA14_0=='.') ) {
                alt14=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 14, 0, input);

                throw nvae;
            }
            switch (alt14) {
                case 1 :
                    // /home/alex/Desktop/Go.g:114:6: Decimals
                    {
                    mDecimals(); 

                    }
                    break;
                case 2 :
                    // /home/alex/Desktop/Go.g:114:17: Float_lit
                    {
                    mFloat_lit(); 

                    }
                    break;

            }

            match('i'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "Imaginary_lit"

    // $ANTLR start "Char_lit"
    public final void mChar_lit() throws RecognitionException {
        try {
            int _type = Char_lit;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/alex/Desktop/Go.g:117:2: ( '\\'' ( Unicode_value | Byte_value ) '\\'' )
            // /home/alex/Desktop/Go.g:117:5: '\\'' ( Unicode_value | Byte_value ) '\\''
            {
            match('\''); 
            // /home/alex/Desktop/Go.g:117:10: ( Unicode_value | Byte_value )
            int alt15=2;
            int LA15_0 = input.LA(1);

            if ( (LA15_0=='\\') ) {
                int LA15_1 = input.LA(2);

                if ( (LA15_1=='\"'||LA15_1=='\''||LA15_1=='U'||LA15_1=='\\'||(LA15_1>='a' && LA15_1<='b')||LA15_1=='f'||LA15_1=='n'||LA15_1=='r'||(LA15_1>='t' && LA15_1<='v')) ) {
                    alt15=1;
                }
                else if ( ((LA15_1>='0' && LA15_1<='7')||LA15_1=='x') ) {
                    alt15=2;
                }
                else {
                    NoViableAltException nvae =
                        new NoViableAltException("", 15, 1, input);

                    throw nvae;
                }
            }
            else if ( ((LA15_0>='\u0003' && LA15_0<='[')||(LA15_0>=']' && LA15_0<='\uFFFF')) ) {
                alt15=1;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 15, 0, input);

                throw nvae;
            }
            switch (alt15) {
                case 1 :
                    // /home/alex/Desktop/Go.g:117:12: Unicode_value
                    {
                    mUnicode_value(); 

                    }
                    break;
                case 2 :
                    // /home/alex/Desktop/Go.g:117:28: Byte_value
                    {
                    mByte_value(); 

                    }
                    break;

            }

            match('\''); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "Char_lit"

    // $ANTLR start "Unicode_value"
    public final void mUnicode_value() throws RecognitionException {
        try {
            // /home/alex/Desktop/Go.g:121:2: ( Unicode_char | Little_u_value | Big_u_value | Escaped_char )
            int alt16=4;
            int LA16_0 = input.LA(1);

            if ( (LA16_0=='\\') ) {
                switch ( input.LA(2) ) {
                case 'u':
                    {
                    alt16=2;
                    }
                    break;
                case 'U':
                    {
                    alt16=3;
                    }
                    break;
                case '\"':
                case '\'':
                case '\\':
                case 'a':
                case 'b':
                case 'f':
                case 'n':
                case 'r':
                case 't':
                case 'v':
                    {
                    alt16=4;
                    }
                    break;
                default:
                    alt16=1;}

            }
            else if ( ((LA16_0>='\u0003' && LA16_0<='[')||(LA16_0>=']' && LA16_0<='\uFFFF')) ) {
                alt16=1;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 16, 0, input);

                throw nvae;
            }
            switch (alt16) {
                case 1 :
                    // /home/alex/Desktop/Go.g:121:5: Unicode_char
                    {
                    mUnicode_char(); 

                    }
                    break;
                case 2 :
                    // /home/alex/Desktop/Go.g:121:20: Little_u_value
                    {
                    mLittle_u_value(); 

                    }
                    break;
                case 3 :
                    // /home/alex/Desktop/Go.g:121:37: Big_u_value
                    {
                    mBig_u_value(); 

                    }
                    break;
                case 4 :
                    // /home/alex/Desktop/Go.g:121:51: Escaped_char
                    {
                    mEscaped_char(); 

                    }
                    break;

            }
        }
        finally {
        }
    }
    // $ANTLR end "Unicode_value"

    // $ANTLR start "Byte_value"
    public final void mByte_value() throws RecognitionException {
        try {
            // /home/alex/Desktop/Go.g:125:2: ( Octal_byte_value | Hex_byte_value )
            int alt17=2;
            int LA17_0 = input.LA(1);

            if ( (LA17_0=='\\') ) {
                int LA17_1 = input.LA(2);

                if ( (LA17_1=='x') ) {
                    alt17=2;
                }
                else if ( ((LA17_1>='0' && LA17_1<='7')) ) {
                    alt17=1;
                }
                else {
                    NoViableAltException nvae =
                        new NoViableAltException("", 17, 1, input);

                    throw nvae;
                }
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 17, 0, input);

                throw nvae;
            }
            switch (alt17) {
                case 1 :
                    // /home/alex/Desktop/Go.g:125:5: Octal_byte_value
                    {
                    mOctal_byte_value(); 

                    }
                    break;
                case 2 :
                    // /home/alex/Desktop/Go.g:125:24: Hex_byte_value
                    {
                    mHex_byte_value(); 

                    }
                    break;

            }
        }
        finally {
        }
    }
    // $ANTLR end "Byte_value"

    // $ANTLR start "Octal_byte_value"
    public final void mOctal_byte_value() throws RecognitionException {
        try {
            // /home/alex/Desktop/Go.g:129:2: ( '\\\\' Octal_digit Octal_digit Octal_digit )
            // /home/alex/Desktop/Go.g:129:5: '\\\\' Octal_digit Octal_digit Octal_digit
            {
            match('\\'); 
            mOctal_digit(); 
            mOctal_digit(); 
            mOctal_digit(); 

            }

        }
        finally {
        }
    }
    // $ANTLR end "Octal_byte_value"

    // $ANTLR start "Hex_byte_value"
    public final void mHex_byte_value() throws RecognitionException {
        try {
            // /home/alex/Desktop/Go.g:133:2: ( '\\\\' 'x' Hex_digit Hex_digit )
            // /home/alex/Desktop/Go.g:133:5: '\\\\' 'x' Hex_digit Hex_digit
            {
            match('\\'); 
            match('x'); 
            mHex_digit(); 
            mHex_digit(); 

            }

        }
        finally {
        }
    }
    // $ANTLR end "Hex_byte_value"

    // $ANTLR start "Little_u_value"
    public final void mLittle_u_value() throws RecognitionException {
        try {
            // /home/alex/Desktop/Go.g:137:2: ( '\\\\' 'u' Hex_digit Hex_digit Hex_digit Hex_digit )
            // /home/alex/Desktop/Go.g:137:5: '\\\\' 'u' Hex_digit Hex_digit Hex_digit Hex_digit
            {
            match('\\'); 
            match('u'); 
            mHex_digit(); 
            mHex_digit(); 
            mHex_digit(); 
            mHex_digit(); 

            }

        }
        finally {
        }
    }
    // $ANTLR end "Little_u_value"

    // $ANTLR start "Big_u_value"
    public final void mBig_u_value() throws RecognitionException {
        try {
            // /home/alex/Desktop/Go.g:141:2: ( '\\\\' 'U' Hex_digit Hex_digit Hex_digit Hex_digit Hex_digit Hex_digit Hex_digit Hex_digit )
            // /home/alex/Desktop/Go.g:141:5: '\\\\' 'U' Hex_digit Hex_digit Hex_digit Hex_digit Hex_digit Hex_digit Hex_digit Hex_digit
            {
            match('\\'); 
            match('U'); 
            mHex_digit(); 
            mHex_digit(); 
            mHex_digit(); 
            mHex_digit(); 
            mHex_digit(); 
            mHex_digit(); 
            mHex_digit(); 
            mHex_digit(); 

            }

        }
        finally {
        }
    }
    // $ANTLR end "Big_u_value"

    // $ANTLR start "Escaped_char"
    public final void mEscaped_char() throws RecognitionException {
        try {
            // /home/alex/Desktop/Go.g:145:2: ( '\\\\' ( 'a' | 'b' | 'f' | 'n' | 'r' | 't' | 'v' | '\\\\' | '\\'' | '\"' ) )
            // /home/alex/Desktop/Go.g:145:5: '\\\\' ( 'a' | 'b' | 'f' | 'n' | 'r' | 't' | 'v' | '\\\\' | '\\'' | '\"' )
            {
            match('\\'); 
            if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||(input.LA(1)>='a' && input.LA(1)<='b')||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||input.LA(1)=='t'||input.LA(1)=='v' ) {
                input.consume();

            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;}


            }

        }
        finally {
        }
    }
    // $ANTLR end "Escaped_char"

    // $ANTLR start "String_lit"
    public final void mString_lit() throws RecognitionException {
        try {
            int _type = String_lit;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/alex/Desktop/Go.g:148:2: ( Raw_string_lit | Interpreted_string_lit )
            int alt18=2;
            int LA18_0 = input.LA(1);

            if ( (LA18_0=='`') ) {
                alt18=1;
            }
            else if ( (LA18_0=='\"') ) {
                alt18=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 18, 0, input);

                throw nvae;
            }
            switch (alt18) {
                case 1 :
                    // /home/alex/Desktop/Go.g:148:5: Raw_string_lit
                    {
                    mRaw_string_lit(); 

                    }
                    break;
                case 2 :
                    // /home/alex/Desktop/Go.g:148:22: Interpreted_string_lit
                    {
                    mInterpreted_string_lit(); 

                    }
                    break;

            }
            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "String_lit"

    // $ANTLR start "Raw_string_lit"
    public final void mRaw_string_lit() throws RecognitionException {
        try {
            // /home/alex/Desktop/Go.g:152:2: ( '`' ( Unicode_char )* '`' )
            // /home/alex/Desktop/Go.g:152:5: '`' ( Unicode_char )* '`'
            {
            match('`'); 
            // /home/alex/Desktop/Go.g:152:9: ( Unicode_char )*
            loop19:
            do {
                int alt19=2;
                int LA19_0 = input.LA(1);

                if ( (LA19_0=='`') ) {
                    int LA19_1 = input.LA(2);

                    if ( ((LA19_1>='\u0003' && LA19_1<='\uFFFF')) ) {
                        alt19=1;
                    }


                }
                else if ( ((LA19_0>='\u0003' && LA19_0<='_')||(LA19_0>='a' && LA19_0<='\uFFFF')) ) {
                    alt19=1;
                }


                switch (alt19) {
            	case 1 :
            	    // /home/alex/Desktop/Go.g:152:11: Unicode_char
            	    {
            	    mUnicode_char(); 

            	    }
            	    break;

            	default :
            	    break loop19;
                }
            } while (true);

            match('`'); 

            }

        }
        finally {
        }
    }
    // $ANTLR end "Raw_string_lit"

    // $ANTLR start "Interpreted_string_lit"
    public final void mInterpreted_string_lit() throws RecognitionException {
        try {
            // /home/alex/Desktop/Go.g:157:2: ( '\"' ( Escaped_char | ~ ( '\\\\' | '\"' ) )* '\"' )
            // /home/alex/Desktop/Go.g:157:4: '\"' ( Escaped_char | ~ ( '\\\\' | '\"' ) )* '\"'
            {
            match('\"'); 
            // /home/alex/Desktop/Go.g:157:8: ( Escaped_char | ~ ( '\\\\' | '\"' ) )*
            loop20:
            do {
                int alt20=3;
                int LA20_0 = input.LA(1);

                if ( (LA20_0=='\\') ) {
                    alt20=1;
                }
                else if ( ((LA20_0>='\u0000' && LA20_0<='!')||(LA20_0>='#' && LA20_0<='[')||(LA20_0>=']' && LA20_0<='\uFFFF')) ) {
                    alt20=2;
                }


                switch (alt20) {
            	case 1 :
            	    // /home/alex/Desktop/Go.g:157:10: Escaped_char
            	    {
            	    mEscaped_char(); 

            	    }
            	    break;
            	case 2 :
            	    // /home/alex/Desktop/Go.g:157:25: ~ ( '\\\\' | '\"' )
            	    {
            	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
            	        input.consume();

            	    }
            	    else {
            	        MismatchedSetException mse = new MismatchedSetException(null,input);
            	        recover(mse);
            	        throw mse;}


            	    }
            	    break;

            	default :
            	    break loop20;
                }
            } while (true);

            match('\"'); 

            }

        }
        finally {
        }
    }
    // $ANTLR end "Interpreted_string_lit"

    // $ANTLR start "Binary_op"
    public final void mBinary_op() throws RecognitionException {
        try {
            int _type = Binary_op;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/alex/Desktop/Go.g:323:2: ( Log_op | Com_op | Rel_op | Add_op | Mul_op )
            int alt21=5;
            alt21 = dfa21.predict(input);
            switch (alt21) {
                case 1 :
                    // /home/alex/Desktop/Go.g:323:5: Log_op
                    {
                    mLog_op(); 

                    }
                    break;
                case 2 :
                    // /home/alex/Desktop/Go.g:323:14: Com_op
                    {
                    mCom_op(); 

                    }
                    break;
                case 3 :
                    // /home/alex/Desktop/Go.g:323:23: Rel_op
                    {
                    mRel_op(); 

                    }
                    break;
                case 4 :
                    // /home/alex/Desktop/Go.g:323:32: Add_op
                    {
                    mAdd_op(); 

                    }
                    break;
                case 5 :
                    // /home/alex/Desktop/Go.g:323:41: Mul_op
                    {
                    mMul_op(); 

                    }
                    break;

            }
            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "Binary_op"

    // $ANTLR start "Log_op"
    public final void mLog_op() throws RecognitionException {
        try {
            // /home/alex/Desktop/Go.g:326:2: ( '||' | '&&' )
            int alt22=2;
            int LA22_0 = input.LA(1);

            if ( (LA22_0=='|') ) {
                alt22=1;
            }
            else if ( (LA22_0=='&') ) {
                alt22=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 22, 0, input);

                throw nvae;
            }
            switch (alt22) {
                case 1 :
                    // /home/alex/Desktop/Go.g:326:5: '||'
                    {
                    match("||"); 


                    }
                    break;
                case 2 :
                    // /home/alex/Desktop/Go.g:326:12: '&&'
                    {
                    match("&&"); 


                    }
                    break;

            }
        }
        finally {
        }
    }
    // $ANTLR end "Log_op"

    // $ANTLR start "Com_op"
    public final void mCom_op() throws RecognitionException {
        try {
            // /home/alex/Desktop/Go.g:329:2: ( '<-' )
            // /home/alex/Desktop/Go.g:329:5: '<-'
            {
            match("<-"); 


            }

        }
        finally {
        }
    }
    // $ANTLR end "Com_op"

    // $ANTLR start "Rel_op"
    public final void mRel_op() throws RecognitionException {
        try {
            // /home/alex/Desktop/Go.g:332:2: ( '==' | '!=' | '<' | '<=' | '>' | '>=' )
            int alt23=6;
            switch ( input.LA(1) ) {
            case '=':
                {
                alt23=1;
                }
                break;
            case '!':
                {
                alt23=2;
                }
                break;
            case '<':
                {
                int LA23_3 = input.LA(2);

                if ( (LA23_3=='=') ) {
                    alt23=4;
                }
                else {
                    alt23=3;}
                }
                break;
            case '>':
                {
                int LA23_4 = input.LA(2);

                if ( (LA23_4=='=') ) {
                    alt23=6;
                }
                else {
                    alt23=5;}
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 23, 0, input);

                throw nvae;
            }

            switch (alt23) {
                case 1 :
                    // /home/alex/Desktop/Go.g:332:5: '=='
                    {
                    match("=="); 


                    }
                    break;
                case 2 :
                    // /home/alex/Desktop/Go.g:332:12: '!='
                    {
                    match("!="); 


                    }
                    break;
                case 3 :
                    // /home/alex/Desktop/Go.g:332:19: '<'
                    {
                    match('<'); 

                    }
                    break;
                case 4 :
                    // /home/alex/Desktop/Go.g:332:25: '<='
                    {
                    match("<="); 


                    }
                    break;
                case 5 :
                    // /home/alex/Desktop/Go.g:332:32: '>'
                    {
                    match('>'); 

                    }
                    break;
                case 6 :
                    // /home/alex/Desktop/Go.g:332:38: '>='
                    {
                    match(">="); 


                    }
                    break;

            }
        }
        finally {
        }
    }
    // $ANTLR end "Rel_op"

    // $ANTLR start "Add_op"
    public final void mAdd_op() throws RecognitionException {
        try {
            // /home/alex/Desktop/Go.g:335:2: ( '+' | '-' | '|' | '^' )
            // /home/alex/Desktop/Go.g:
            {
            if ( input.LA(1)=='+'||input.LA(1)=='-'||input.LA(1)=='^'||input.LA(1)=='|' ) {
                input.consume();

            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;}


            }

        }
        finally {
        }
    }
    // $ANTLR end "Add_op"

    // $ANTLR start "Mul_op"
    public final void mMul_op() throws RecognitionException {
        try {
            // /home/alex/Desktop/Go.g:338:2: ( '*' | '/' | '%' | '<<' | '>>' | '&' | '&^' )
            int alt24=7;
            switch ( input.LA(1) ) {
            case '*':
                {
                alt24=1;
                }
                break;
            case '/':
                {
                alt24=2;
                }
                break;
            case '%':
                {
                alt24=3;
                }
                break;
            case '<':
                {
                alt24=4;
                }
                break;
            case '>':
                {
                alt24=5;
                }
                break;
            case '&':
                {
                int LA24_6 = input.LA(2);

                if ( (LA24_6=='^') ) {
                    alt24=7;
                }
                else {
                    alt24=6;}
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 24, 0, input);

                throw nvae;
            }

            switch (alt24) {
                case 1 :
                    // /home/alex/Desktop/Go.g:338:5: '*'
                    {
                    match('*'); 

                    }
                    break;
                case 2 :
                    // /home/alex/Desktop/Go.g:338:11: '/'
                    {
                    match('/'); 

                    }
                    break;
                case 3 :
                    // /home/alex/Desktop/Go.g:338:17: '%'
                    {
                    match('%'); 

                    }
                    break;
                case 4 :
                    // /home/alex/Desktop/Go.g:338:23: '<<'
                    {
                    match("<<"); 


                    }
                    break;
                case 5 :
                    // /home/alex/Desktop/Go.g:338:30: '>>'
                    {
                    match(">>"); 


                    }
                    break;
                case 6 :
                    // /home/alex/Desktop/Go.g:338:37: '&'
                    {
                    match('&'); 

                    }
                    break;
                case 7 :
                    // /home/alex/Desktop/Go.g:338:43: '&^'
                    {
                    match("&^"); 


                    }
                    break;

            }
        }
        finally {
        }
    }
    // $ANTLR end "Mul_op"

    // $ANTLR start "Unary_op"
    public final void mUnary_op() throws RecognitionException {
        try {
            // /home/alex/Desktop/Go.g:341:2: ( '+' | '-' | '!' | '^' | '*' | '&' | '<-' )
            int alt25=7;
            switch ( input.LA(1) ) {
            case '+':
                {
                alt25=1;
                }
                break;
            case '-':
                {
                alt25=2;
                }
                break;
            case '!':
                {
                alt25=3;
                }
                break;
            case '^':
                {
                alt25=4;
                }
                break;
            case '*':
                {
                alt25=5;
                }
                break;
            case '&':
                {
                alt25=6;
                }
                break;
            case '<':
                {
                alt25=7;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 25, 0, input);

                throw nvae;
            }

            switch (alt25) {
                case 1 :
                    // /home/alex/Desktop/Go.g:341:5: '+'
                    {
                    match('+'); 

                    }
                    break;
                case 2 :
                    // /home/alex/Desktop/Go.g:341:11: '-'
                    {
                    match('-'); 

                    }
                    break;
                case 3 :
                    // /home/alex/Desktop/Go.g:341:17: '!'
                    {
                    match('!'); 

                    }
                    break;
                case 4 :
                    // /home/alex/Desktop/Go.g:341:23: '^'
                    {
                    match('^'); 

                    }
                    break;
                case 5 :
                    // /home/alex/Desktop/Go.g:341:29: '*'
                    {
                    match('*'); 

                    }
                    break;
                case 6 :
                    // /home/alex/Desktop/Go.g:341:35: '&'
                    {
                    match('&'); 

                    }
                    break;
                case 7 :
                    // /home/alex/Desktop/Go.g:341:41: '<-'
                    {
                    match("<-"); 


                    }
                    break;

            }
        }
        finally {
        }
    }
    // $ANTLR end "Unary_op"

    // $ANTLR start "Assign_op"
    public final void mAssign_op() throws RecognitionException {
        try {
            int _type = Assign_op;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /home/alex/Desktop/Go.g:380:2: ( ( Add_op | Mul_op )? '=' )
            // /home/alex/Desktop/Go.g:380:5: ( Add_op | Mul_op )? '='
            {
            // /home/alex/Desktop/Go.g:380:5: ( Add_op | Mul_op )?
            int alt26=3;
            int LA26_0 = input.LA(1);

            if ( (LA26_0=='+'||LA26_0=='-'||LA26_0=='^'||LA26_0=='|') ) {
                alt26=1;
            }
            else if ( ((LA26_0>='%' && LA26_0<='&')||LA26_0=='*'||LA26_0=='/'||LA26_0=='<'||LA26_0=='>') ) {
                alt26=2;
            }
            switch (alt26) {
                case 1 :
                    // /home/alex/Desktop/Go.g:380:7: Add_op
                    {
                    mAdd_op(); 

                    }
                    break;
                case 2 :
                    // /home/alex/Desktop/Go.g:380:16: Mul_op
                    {
                    mMul_op(); 

                    }
                    break;

            }

            match('='); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "Assign_op"

    public void mTokens() throws RecognitionException {
        // /home/alex/Desktop/Go.g:1:8: ( T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | LINE_COMMENT | COMMENT | WS | Identifier | Imaginary_lit | Char_lit | String_lit | Binary_op | Assign_op )
        int alt27=50;
        alt27 = dfa27.predict(input);
        switch (alt27) {
            case 1 :
                // /home/alex/Desktop/Go.g:1:10: T__42
                {
                mT__42(); 

                }
                break;
            case 2 :
                // /home/alex/Desktop/Go.g:1:16: T__43
                {
                mT__43(); 

                }
                break;
            case 3 :
                // /home/alex/Desktop/Go.g:1:22: T__44
                {
                mT__44(); 

                }
                break;
            case 4 :
                // /home/alex/Desktop/Go.g:1:28: T__45
                {
                mT__45(); 

                }
                break;
            case 5 :
                // /home/alex/Desktop/Go.g:1:34: T__46
                {
                mT__46(); 

                }
                break;
            case 6 :
                // /home/alex/Desktop/Go.g:1:40: T__47
                {
                mT__47(); 

                }
                break;
            case 7 :
                // /home/alex/Desktop/Go.g:1:46: T__48
                {
                mT__48(); 

                }
                break;
            case 8 :
                // /home/alex/Desktop/Go.g:1:52: T__49
                {
                mT__49(); 

                }
                break;
            case 9 :
                // /home/alex/Desktop/Go.g:1:58: T__50
                {
                mT__50(); 

                }
                break;
            case 10 :
                // /home/alex/Desktop/Go.g:1:64: T__51
                {
                mT__51(); 

                }
                break;
            case 11 :
                // /home/alex/Desktop/Go.g:1:70: T__52
                {
                mT__52(); 

                }
                break;
            case 12 :
                // /home/alex/Desktop/Go.g:1:76: T__53
                {
                mT__53(); 

                }
                break;
            case 13 :
                // /home/alex/Desktop/Go.g:1:82: T__54
                {
                mT__54(); 

                }
                break;
            case 14 :
                // /home/alex/Desktop/Go.g:1:88: T__55
                {
                mT__55(); 

                }
                break;
            case 15 :
                // /home/alex/Desktop/Go.g:1:94: T__56
                {
                mT__56(); 

                }
                break;
            case 16 :
                // /home/alex/Desktop/Go.g:1:100: T__57
                {
                mT__57(); 

                }
                break;
            case 17 :
                // /home/alex/Desktop/Go.g:1:106: T__58
                {
                mT__58(); 

                }
                break;
            case 18 :
                // /home/alex/Desktop/Go.g:1:112: T__59
                {
                mT__59(); 

                }
                break;
            case 19 :
                // /home/alex/Desktop/Go.g:1:118: T__60
                {
                mT__60(); 

                }
                break;
            case 20 :
                // /home/alex/Desktop/Go.g:1:124: T__61
                {
                mT__61(); 

                }
                break;
            case 21 :
                // /home/alex/Desktop/Go.g:1:130: T__62
                {
                mT__62(); 

                }
                break;
            case 22 :
                // /home/alex/Desktop/Go.g:1:136: T__63
                {
                mT__63(); 

                }
                break;
            case 23 :
                // /home/alex/Desktop/Go.g:1:142: T__64
                {
                mT__64(); 

                }
                break;
            case 24 :
                // /home/alex/Desktop/Go.g:1:148: T__65
                {
                mT__65(); 

                }
                break;
            case 25 :
                // /home/alex/Desktop/Go.g:1:154: T__66
                {
                mT__66(); 

                }
                break;
            case 26 :
                // /home/alex/Desktop/Go.g:1:160: T__67
                {
                mT__67(); 

                }
                break;
            case 27 :
                // /home/alex/Desktop/Go.g:1:166: T__68
                {
                mT__68(); 

                }
                break;
            case 28 :
                // /home/alex/Desktop/Go.g:1:172: T__69
                {
                mT__69(); 

                }
                break;
            case 29 :
                // /home/alex/Desktop/Go.g:1:178: T__70
                {
                mT__70(); 

                }
                break;
            case 30 :
                // /home/alex/Desktop/Go.g:1:184: T__71
                {
                mT__71(); 

                }
                break;
            case 31 :
                // /home/alex/Desktop/Go.g:1:190: T__72
                {
                mT__72(); 

                }
                break;
            case 32 :
                // /home/alex/Desktop/Go.g:1:196: T__73
                {
                mT__73(); 

                }
                break;
            case 33 :
                // /home/alex/Desktop/Go.g:1:202: T__74
                {
                mT__74(); 

                }
                break;
            case 34 :
                // /home/alex/Desktop/Go.g:1:208: T__75
                {
                mT__75(); 

                }
                break;
            case 35 :
                // /home/alex/Desktop/Go.g:1:214: T__76
                {
                mT__76(); 

                }
                break;
            case 36 :
                // /home/alex/Desktop/Go.g:1:220: T__77
                {
                mT__77(); 

                }
                break;
            case 37 :
                // /home/alex/Desktop/Go.g:1:226: T__78
                {
                mT__78(); 

                }
                break;
            case 38 :
                // /home/alex/Desktop/Go.g:1:232: T__79
                {
                mT__79(); 

                }
                break;
            case 39 :
                // /home/alex/Desktop/Go.g:1:238: T__80
                {
                mT__80(); 

                }
                break;
            case 40 :
                // /home/alex/Desktop/Go.g:1:244: T__81
                {
                mT__81(); 

                }
                break;
            case 41 :
                // /home/alex/Desktop/Go.g:1:250: T__82
                {
                mT__82(); 

                }
                break;
            case 42 :
                // /home/alex/Desktop/Go.g:1:256: LINE_COMMENT
                {
                mLINE_COMMENT(); 

                }
                break;
            case 43 :
                // /home/alex/Desktop/Go.g:1:269: COMMENT
                {
                mCOMMENT(); 

                }
                break;
            case 44 :
                // /home/alex/Desktop/Go.g:1:277: WS
                {
                mWS(); 

                }
                break;
            case 45 :
                // /home/alex/Desktop/Go.g:1:280: Identifier
                {
                mIdentifier(); 

                }
                break;
            case 46 :
                // /home/alex/Desktop/Go.g:1:291: Imaginary_lit
                {
                mImaginary_lit(); 

                }
                break;
            case 47 :
                // /home/alex/Desktop/Go.g:1:305: Char_lit
                {
                mChar_lit(); 

                }
                break;
            case 48 :
                // /home/alex/Desktop/Go.g:1:314: String_lit
                {
                mString_lit(); 

                }
                break;
            case 49 :
                // /home/alex/Desktop/Go.g:1:325: Binary_op
                {
                mBinary_op(); 

                }
                break;
            case 50 :
                // /home/alex/Desktop/Go.g:1:335: Assign_op
                {
                mAssign_op(); 

                }
                break;

        }

    }


    protected DFA21 dfa21 = new DFA21(this);
    protected DFA27 dfa27 = new DFA27(this);
    static final String DFA21_eotS =
        "\1\uffff\1\6\1\7\1\4\1\uffff\1\4\4\uffff";
    static final String DFA21_eofS =
        "\12\uffff";
    static final String DFA21_minS =
        "\1\41\1\174\1\46\1\55\1\uffff\1\76\4\uffff";
    static final String DFA21_maxS =
        "\2\174\1\46\1\74\1\uffff\1\76\4\uffff";
    static final String DFA21_acceptS =
        "\4\uffff\1\3\1\uffff\1\4\1\5\1\1\1\2";
    static final String DFA21_specialS =
        "\12\uffff}>";
    static final String[] DFA21_transitionS = {
            "\1\4\3\uffff\1\7\1\2\3\uffff\1\7\1\6\1\uffff\1\6\1\uffff\1\7"+
            "\14\uffff\1\3\1\4\1\5\37\uffff\1\6\35\uffff\1\1",
            "\1\10",
            "\1\10",
            "\1\11\16\uffff\1\7",
            "",
            "\1\7",
            "",
            "",
            "",
            ""
    };

    static final short[] DFA21_eot = DFA.unpackEncodedString(DFA21_eotS);
    static final short[] DFA21_eof = DFA.unpackEncodedString(DFA21_eofS);
    static final char[] DFA21_min = DFA.unpackEncodedStringToUnsignedChars(DFA21_minS);
    static final char[] DFA21_max = DFA.unpackEncodedStringToUnsignedChars(DFA21_maxS);
    static final short[] DFA21_accept = DFA.unpackEncodedString(DFA21_acceptS);
    static final short[] DFA21_special = DFA.unpackEncodedString(DFA21_specialS);
    static final short[][] DFA21_transition;

    static {
        int numStates = DFA21_transitionS.length;
        DFA21_transition = new short[numStates][];
        for (int i=0; i<numStates; i++) {
            DFA21_transition[i] = DFA.unpackEncodedString(DFA21_transitionS[i]);
        }
    }

    class DFA21 extends DFA {

        public DFA21(BaseRecognizer recognizer) {
            this.recognizer = recognizer;
            this.decisionNumber = 21;
            this.eot = DFA21_eot;
            this.eof = DFA21_eof;
            this.min = DFA21_min;
            this.max = DFA21_max;
            this.accept = DFA21_accept;
            this.special = DFA21_special;
            this.transition = DFA21_transition;
        }
        public String getDescription() {
            return "322:1: Binary_op : ( Log_op | Com_op | Rel_op | Add_op | Mul_op );";
        }
    }
    static final String DFA27_eotS =
        "\5\uffff\1\36\3\uffff\1\54\1\36\1\uffff\1\62\3\36\1\72\2\36\1\76"+
        "\2\45\6\36\1\45\5\uffff\3\45\1\uffff\3\45\3\36\2\uffff\3\36\2\uffff"+
        "\1\36\1\124\5\36\1\uffff\2\36\4\uffff\4\36\1\141\2\36\2\uffff\3"+
        "\45\4\36\1\150\2\36\1\uffff\1\36\1\154\4\36\1\162\5\36\1\uffff\5"+
        "\36\1\176\1\uffff\3\36\1\uffff\1\u0082\2\36\1\u0085\1\u0086\1\uffff"+
        "\1\u0087\4\36\1\u008c\5\36\1\uffff\3\36\1\uffff\1\u0095\1\36\3\uffff"+
        "\1\36\1\u0098\1\u0099\1\36\1\uffff\1\u009b\1\36\1\u009d\1\u009e"+
        "\1\u009f\2\36\1\u00a2\1\uffff\2\36\2\uffff\1\u00a5\1\uffff\1\36"+
        "\3\uffff\2\36\1\uffff\1\36\1\u00aa\1\uffff\1\u00ab\2\36\1\u00ae"+
        "\2\uffff\1\36\1\u00b0\1\uffff\1\36\1\uffff\1\u00b2\1\uffff";
    static final String DFA27_eofS =
        "\u00b3\uffff";
    static final String DFA27_minS =
        "\1\11\4\uffff\1\145\3\uffff\1\75\1\141\1\uffff\1\56\1\146\2\141"+
        "\1\75\1\171\1\141\1\75\1\53\1\55\1\154\1\145\1\141\1\157\1\162\1"+
        "\141\1\52\5\uffff\2\75\1\74\1\uffff\1\76\2\75\1\162\1\151\1\154"+
        "\2\uffff\1\156\1\162\1\154\2\uffff\1\164\1\44\2\160\1\141\1\156"+
        "\1\163\1\uffff\1\160\1\162\4\uffff\1\163\1\146\1\156\1\164\1\44"+
        "\1\145\1\143\2\uffff\3\75\1\165\1\164\1\145\1\143\1\44\1\154\1\145"+
        "\1\uffff\1\157\1\44\1\156\1\163\2\145\1\44\1\145\1\141\1\147\1\165"+
        "\1\157\1\uffff\1\141\1\153\3\143\1\44\1\uffff\1\164\2\162\1\uffff"+
        "\1\44\1\164\1\151\2\44\1\uffff\1\44\1\165\1\162\1\145\1\162\1\44"+
        "\1\153\1\141\1\164\1\150\1\164\1\uffff\1\150\1\146\1\164\1\uffff"+
        "\1\44\1\156\3\uffff\1\154\2\44\1\156\1\uffff\1\44\1\147\3\44\1\162"+
        "\1\141\1\44\1\uffff\1\165\1\164\2\uffff\1\44\1\uffff\1\145\3\uffff"+
        "\1\157\1\143\1\uffff\1\145\1\44\1\uffff\1\44\1\165\1\145\1\44\2"+
        "\uffff\1\147\1\44\1\uffff\1\150\1\uffff\1\44\1\uffff";
    static final String DFA27_maxS =
        "\1\ufaff\4\uffff\1\167\3\uffff\1\75\1\165\1\uffff\1\71\1\156\1\141"+
        "\1\157\1\75\1\171\1\141\3\75\1\154\2\145\1\157\1\162\1\141\1\75"+
        "\5\uffff\1\75\1\136\1\74\1\uffff\1\76\2\75\1\162\1\151\1\154\2\uffff"+
        "\1\156\1\162\1\154\2\uffff\1\164\1\ufaff\2\160\1\141\1\156\1\163"+
        "\1\uffff\1\160\1\162\4\uffff\1\163\1\146\1\156\1\164\1\ufaff\1\145"+
        "\1\143\2\uffff\3\75\1\165\1\164\1\145\1\143\1\ufaff\1\154\1\145"+
        "\1\uffff\1\157\1\ufaff\1\156\1\164\2\145\1\ufaff\2\145\1\147\1\165"+
        "\1\157\1\uffff\1\141\1\153\3\143\1\ufaff\1\uffff\1\164\2\162\1\uffff"+
        "\1\ufaff\1\164\1\151\2\ufaff\1\uffff\1\ufaff\1\165\1\162\1\145\1"+
        "\162\1\ufaff\1\153\1\141\1\164\1\150\1\164\1\uffff\1\150\1\146\1"+
        "\164\1\uffff\1\ufaff\1\156\3\uffff\1\154\2\ufaff\1\156\1\uffff\1"+
        "\ufaff\1\147\3\ufaff\1\162\1\141\1\ufaff\1\uffff\1\165\1\164\2\uffff"+
        "\1\ufaff\1\uffff\1\145\3\uffff\1\157\1\143\1\uffff\1\145\1\ufaff"+
        "\1\uffff\1\ufaff\1\165\1\145\1\ufaff\2\uffff\1\147\1\ufaff\1\uffff"+
        "\1\150\1\uffff\1\ufaff\1\uffff";
    static final String DFA27_acceptS =
        "\1\uffff\1\1\1\2\1\3\1\4\1\uffff\1\6\1\7\1\10\2\uffff\1\13\21\uffff"+
        "\1\54\1\55\1\56\1\57\1\60\3\uffff\1\61\6\uffff\1\11\1\62\3\uffff"+
        "\1\14\1\25\7\uffff\1\21\2\uffff\1\24\1\26\1\27\1\30\7\uffff\1\52"+
        "\1\53\12\uffff\1\31\14\uffff\1\40\6\uffff\1\36\3\uffff\1\16\5\uffff"+
        "\1\23\13\uffff\1\12\3\uffff\1\17\2\uffff\1\34\1\22\1\32\4\uffff"+
        "\1\45\10\uffff\1\20\2\uffff\1\47\1\37\1\uffff\1\43\1\uffff\1\5\1"+
        "\33\1\41\2\uffff\1\51\2\uffff\1\42\4\uffff\1\35\1\50\2\uffff\1\44"+
        "\1\uffff\1\15\1\uffff\1\46";
    static final String DFA27_specialS =
        "\u00b3\uffff}>";
    static final String[] DFA27_transitionS = {
            "\2\35\1\uffff\2\35\22\uffff\1\35\1\45\1\41\1\uffff\1\36\1\50"+
            "\1\43\1\40\1\1\1\2\1\11\1\24\1\13\1\25\1\14\1\34\12\37\1\23"+
            "\1\7\1\44\1\20\1\46\2\uffff\32\36\1\3\1\uffff\1\4\1\47\1\36"+
            "\1\41\1\36\1\32\1\17\1\27\1\26\1\12\1\31\1\36\1\15\3\36\1\16"+
            "\2\36\1\33\1\36\1\30\1\5\1\21\1\36\1\22\4\36\1\6\1\42\1\10\102"+
            "\uffff\27\36\1\uffff\37\36\1\uffff\u1f08\36\u1040\uffff\u0150"+
            "\36\u0170\uffff\u0080\36\u0080\uffff\u092e\36\u10d2\uffff\u5200"+
            "\36\u5900\uffff\u0200\36",
            "",
            "",
            "",
            "",
            "\1\53\16\uffff\1\51\2\uffff\1\52",
            "",
            "",
            "",
            "\1\55",
            "\1\60\15\uffff\1\57\5\uffff\1\56",
            "",
            "\1\61\1\uffff\12\37",
            "\1\64\6\uffff\1\65\1\63",
            "\1\66",
            "\1\71\6\uffff\1\67\6\uffff\1\70",
            "\1\45",
            "\1\73",
            "\1\74",
            "\1\75",
            "\1\77\21\uffff\1\55",
            "\1\100\17\uffff\1\55",
            "\1\101",
            "\1\102",
            "\1\103\3\uffff\1\104",
            "\1\105",
            "\1\106",
            "\1\107",
            "\1\111\4\uffff\1\110\15\uffff\1\55",
            "",
            "",
            "",
            "",
            "",
            "\1\55",
            "\1\55\40\uffff\1\112",
            "\1\113",
            "",
            "\1\114",
            "\1\55",
            "\1\55",
            "\1\115",
            "\1\116",
            "\1\117",
            "",
            "",
            "\1\120",
            "\1\121",
            "\1\122",
            "",
            "",
            "\1\123",
            "\1\36\13\uffff\12\36\7\uffff\32\36\4\uffff\1\36\1\uffff\32"+
            "\36\105\uffff\27\36\1\uffff\37\36\1\uffff\u1f08\36\u1040\uffff"+
            "\u0150\36\u0170\uffff\u0080\36\u0080\uffff\u092e\36\u10d2\uffff"+
            "\u5200\36\u5900\uffff\u0200\36",
            "\1\125",
            "\1\126",
            "\1\127",
            "\1\130",
            "\1\131",
            "",
            "\1\132",
            "\1\133",
            "",
            "",
            "",
            "",
            "\1\134",
            "\1\135",
            "\1\136",
            "\1\137",
            "\1\36\13\uffff\12\36\7\uffff\32\36\4\uffff\1\36\1\uffff\23"+
            "\36\1\140\6\36\105\uffff\27\36\1\uffff\37\36\1\uffff\u1f08\36"+
            "\u1040\uffff\u0150\36\u0170\uffff\u0080\36\u0080\uffff\u092e"+
            "\36\u10d2\uffff\u5200\36\u5900\uffff\u0200\36",
            "\1\142",
            "\1\143",
            "",
            "",
            "\1\55",
            "\1\55",
            "\1\55",
            "\1\144",
            "\1\145",
            "\1\146",
            "\1\147",
            "\1\36\13\uffff\12\36\7\uffff\32\36\4\uffff\1\36\1\uffff\32"+
            "\36\105\uffff\27\36\1\uffff\37\36\1\uffff\u1f08\36\u1040\uffff"+
            "\u0150\36\u0170\uffff\u0080\36\u0080\uffff\u092e\36\u10d2\uffff"+
            "\u5200\36\u5900\uffff\u0200\36",
            "\1\151",
            "\1\152",
            "",
            "\1\153",
            "\1\36\13\uffff\12\36\7\uffff\32\36\4\uffff\1\36\1\uffff\32"+
            "\36\105\uffff\27\36\1\uffff\37\36\1\uffff\u1f08\36\u1040\uffff"+
            "\u0150\36\u0170\uffff\u0080\36\u0080\uffff\u092e\36\u10d2\uffff"+
            "\u5200\36\u5900\uffff\u0200\36",
            "\1\155",
            "\1\156\1\157",
            "\1\160",
            "\1\161",
            "\1\36\13\uffff\12\36\7\uffff\32\36\4\uffff\1\36\1\uffff\32"+
            "\36\105\uffff\27\36\1\uffff\37\36\1\uffff\u1f08\36\u1040\uffff"+
            "\u0150\36\u0170\uffff\u0080\36\u0080\uffff\u092e\36\u10d2\uffff"+
            "\u5200\36\u5900\uffff\u0200\36",
            "\1\163",
            "\1\164\3\uffff\1\165",
            "\1\166",
            "\1\167",
            "\1\170",
            "",
            "\1\171",
            "\1\172",
            "\1\173",
            "\1\174",
            "\1\175",
            "\1\36\13\uffff\12\36\7\uffff\32\36\4\uffff\1\36\1\uffff\32"+
            "\36\105\uffff\27\36\1\uffff\37\36\1\uffff\u1f08\36\u1040\uffff"+
            "\u0150\36\u0170\uffff\u0080\36\u0080\uffff\u092e\36\u10d2\uffff"+
            "\u5200\36\u5900\uffff\u0200\36",
            "",
            "\1\177",
            "\1\u0080",
            "\1\u0081",
            "",
            "\1\36\13\uffff\12\36\7\uffff\32\36\4\uffff\1\36\1\uffff\32"+
            "\36\105\uffff\27\36\1\uffff\37\36\1\uffff\u1f08\36\u1040\uffff"+
            "\u0150\36\u0170\uffff\u0080\36\u0080\uffff\u092e\36\u10d2\uffff"+
            "\u5200\36\u5900\uffff\u0200\36",
            "\1\u0083",
            "\1\u0084",
            "\1\36\13\uffff\12\36\7\uffff\32\36\4\uffff\1\36\1\uffff\32"+
            "\36\105\uffff\27\36\1\uffff\37\36\1\uffff\u1f08\36\u1040\uffff"+
            "\u0150\36\u0170\uffff\u0080\36\u0080\uffff\u092e\36\u10d2\uffff"+
            "\u5200\36\u5900\uffff\u0200\36",
            "\1\36\13\uffff\12\36\7\uffff\32\36\4\uffff\1\36\1\uffff\32"+
            "\36\105\uffff\27\36\1\uffff\37\36\1\uffff\u1f08\36\u1040\uffff"+
            "\u0150\36\u0170\uffff\u0080\36\u0080\uffff\u092e\36\u10d2\uffff"+
            "\u5200\36\u5900\uffff\u0200\36",
            "",
            "\1\36\13\uffff\12\36\7\uffff\32\36\4\uffff\1\36\1\uffff\32"+
            "\36\105\uffff\27\36\1\uffff\37\36\1\uffff\u1f08\36\u1040\uffff"+
            "\u0150\36\u0170\uffff\u0080\36\u0080\uffff\u092e\36\u10d2\uffff"+
            "\u5200\36\u5900\uffff\u0200\36",
            "\1\u0088",
            "\1\u0089",
            "\1\u008a",
            "\1\u008b",
            "\1\36\13\uffff\12\36\7\uffff\32\36\4\uffff\1\36\1\uffff\32"+
            "\36\105\uffff\27\36\1\uffff\37\36\1\uffff\u1f08\36\u1040\uffff"+
            "\u0150\36\u0170\uffff\u0080\36\u0080\uffff\u092e\36\u10d2\uffff"+
            "\u5200\36\u5900\uffff\u0200\36",
            "\1\u008d",
            "\1\u008e",
            "\1\u008f",
            "\1\u0090",
            "\1\u0091",
            "",
            "\1\u0092",
            "\1\u0093",
            "\1\u0094",
            "",
            "\1\36\13\uffff\12\36\7\uffff\32\36\4\uffff\1\36\1\uffff\32"+
            "\36\105\uffff\27\36\1\uffff\37\36\1\uffff\u1f08\36\u1040\uffff"+
            "\u0150\36\u0170\uffff\u0080\36\u0080\uffff\u092e\36\u10d2\uffff"+
            "\u5200\36\u5900\uffff\u0200\36",
            "\1\u0096",
            "",
            "",
            "",
            "\1\u0097",
            "\1\36\13\uffff\12\36\7\uffff\32\36\4\uffff\1\36\1\uffff\32"+
            "\36\105\uffff\27\36\1\uffff\37\36\1\uffff\u1f08\36\u1040\uffff"+
            "\u0150\36\u0170\uffff\u0080\36\u0080\uffff\u092e\36\u10d2\uffff"+
            "\u5200\36\u5900\uffff\u0200\36",
            "\1\36\13\uffff\12\36\7\uffff\32\36\4\uffff\1\36\1\uffff\32"+
            "\36\105\uffff\27\36\1\uffff\37\36\1\uffff\u1f08\36\u1040\uffff"+
            "\u0150\36\u0170\uffff\u0080\36\u0080\uffff\u092e\36\u10d2\uffff"+
            "\u5200\36\u5900\uffff\u0200\36",
            "\1\u009a",
            "",
            "\1\36\13\uffff\12\36\7\uffff\32\36\4\uffff\1\36\1\uffff\32"+
            "\36\105\uffff\27\36\1\uffff\37\36\1\uffff\u1f08\36\u1040\uffff"+
            "\u0150\36\u0170\uffff\u0080\36\u0080\uffff\u092e\36\u10d2\uffff"+
            "\u5200\36\u5900\uffff\u0200\36",
            "\1\u009c",
            "\1\36\13\uffff\12\36\7\uffff\32\36\4\uffff\1\36\1\uffff\32"+
            "\36\105\uffff\27\36\1\uffff\37\36\1\uffff\u1f08\36\u1040\uffff"+
            "\u0150\36\u0170\uffff\u0080\36\u0080\uffff\u092e\36\u10d2\uffff"+
            "\u5200\36\u5900\uffff\u0200\36",
            "\1\36\13\uffff\12\36\7\uffff\32\36\4\uffff\1\36\1\uffff\32"+
            "\36\105\uffff\27\36\1\uffff\37\36\1\uffff\u1f08\36\u1040\uffff"+
            "\u0150\36\u0170\uffff\u0080\36\u0080\uffff\u092e\36\u10d2\uffff"+
            "\u5200\36\u5900\uffff\u0200\36",
            "\1\36\13\uffff\12\36\7\uffff\32\36\4\uffff\1\36\1\uffff\32"+
            "\36\105\uffff\27\36\1\uffff\37\36\1\uffff\u1f08\36\u1040\uffff"+
            "\u0150\36\u0170\uffff\u0080\36\u0080\uffff\u092e\36\u10d2\uffff"+
            "\u5200\36\u5900\uffff\u0200\36",
            "\1\u00a0",
            "\1\u00a1",
            "\1\36\13\uffff\12\36\7\uffff\32\36\4\uffff\1\36\1\uffff\32"+
            "\36\105\uffff\27\36\1\uffff\37\36\1\uffff\u1f08\36\u1040\uffff"+
            "\u0150\36\u0170\uffff\u0080\36\u0080\uffff\u092e\36\u10d2\uffff"+
            "\u5200\36\u5900\uffff\u0200\36",
            "",
            "\1\u00a3",
            "\1\u00a4",
            "",
            "",
            "\1\36\13\uffff\12\36\7\uffff\32\36\4\uffff\1\36\1\uffff\32"+
            "\36\105\uffff\27\36\1\uffff\37\36\1\uffff\u1f08\36\u1040\uffff"+
            "\u0150\36\u0170\uffff\u0080\36\u0080\uffff\u092e\36\u10d2\uffff"+
            "\u5200\36\u5900\uffff\u0200\36",
            "",
            "\1\u00a6",
            "",
            "",
            "",
            "\1\u00a7",
            "\1\u00a8",
            "",
            "\1\u00a9",
            "\1\36\13\uffff\12\36\7\uffff\32\36\4\uffff\1\36\1\uffff\32"+
            "\36\105\uffff\27\36\1\uffff\37\36\1\uffff\u1f08\36\u1040\uffff"+
            "\u0150\36\u0170\uffff\u0080\36\u0080\uffff\u092e\36\u10d2\uffff"+
            "\u5200\36\u5900\uffff\u0200\36",
            "",
            "\1\36\13\uffff\12\36\7\uffff\32\36\4\uffff\1\36\1\uffff\32"+
            "\36\105\uffff\27\36\1\uffff\37\36\1\uffff\u1f08\36\u1040\uffff"+
            "\u0150\36\u0170\uffff\u0080\36\u0080\uffff\u092e\36\u10d2\uffff"+
            "\u5200\36\u5900\uffff\u0200\36",
            "\1\u00ac",
            "\1\u00ad",
            "\1\36\13\uffff\12\36\7\uffff\32\36\4\uffff\1\36\1\uffff\32"+
            "\36\105\uffff\27\36\1\uffff\37\36\1\uffff\u1f08\36\u1040\uffff"+
            "\u0150\36\u0170\uffff\u0080\36\u0080\uffff\u092e\36\u10d2\uffff"+
            "\u5200\36\u5900\uffff\u0200\36",
            "",
            "",
            "\1\u00af",
            "\1\36\13\uffff\12\36\7\uffff\32\36\4\uffff\1\36\1\uffff\32"+
            "\36\105\uffff\27\36\1\uffff\37\36\1\uffff\u1f08\36\u1040\uffff"+
            "\u0150\36\u0170\uffff\u0080\36\u0080\uffff\u092e\36\u10d2\uffff"+
            "\u5200\36\u5900\uffff\u0200\36",
            "",
            "\1\u00b1",
            "",
            "\1\36\13\uffff\12\36\7\uffff\32\36\4\uffff\1\36\1\uffff\32"+
            "\36\105\uffff\27\36\1\uffff\37\36\1\uffff\u1f08\36\u1040\uffff"+
            "\u0150\36\u0170\uffff\u0080\36\u0080\uffff\u092e\36\u10d2\uffff"+
            "\u5200\36\u5900\uffff\u0200\36",
            ""
    };

    static final short[] DFA27_eot = DFA.unpackEncodedString(DFA27_eotS);
    static final short[] DFA27_eof = DFA.unpackEncodedString(DFA27_eofS);
    static final char[] DFA27_min = DFA.unpackEncodedStringToUnsignedChars(DFA27_minS);
    static final char[] DFA27_max = DFA.unpackEncodedStringToUnsignedChars(DFA27_maxS);
    static final short[] DFA27_accept = DFA.unpackEncodedString(DFA27_acceptS);
    static final short[] DFA27_special = DFA.unpackEncodedString(DFA27_specialS);
    static final short[][] DFA27_transition;

    static {
        int numStates = DFA27_transitionS.length;
        DFA27_transition = new short[numStates][];
        for (int i=0; i<numStates; i++) {
            DFA27_transition[i] = DFA.unpackEncodedString(DFA27_transitionS[i]);
        }
    }

    class DFA27 extends DFA {

        public DFA27(BaseRecognizer recognizer) {
            this.recognizer = recognizer;
            this.decisionNumber = 27;
            this.eot = DFA27_eot;
            this.eof = DFA27_eof;
            this.min = DFA27_min;
            this.max = DFA27_max;
            this.accept = DFA27_accept;
            this.special = DFA27_special;
            this.transition = DFA27_transition;
        }
        public String getDescription() {
            return "1:1: Tokens : ( T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | LINE_COMMENT | COMMENT | WS | Identifier | Imaginary_lit | Char_lit | String_lit | Binary_op | Assign_op );";
        }
    }
 

}